#include<stdio.h>//标准输入输出
#include"ohos_init.h"//用于初始化服务和功能
#include"cmsis_os2.h"//CMSIS-RTOS API V2
//
#include"iot_gpio.h"
//海思SDK接口：IoT硬件设备操作接口-IO
//海思SDK接口，以hi_io_set_func(...)
#include"hi_io.h"

#define LED_TASK_GPIO 9
//主线程函数
static void LedTask(void *arg)
{
    (void)arg;
    //初始化GPIO模块
    IoTGpioInit(LED_TASK_GPIO);
    //设置GPIO9为GPIO功能
    hi_io_set_func(LED_TASK_GPIO,HI_IO_FUNC_GPIO_9_GPIO);
    //设置GPIO9为输出模式（引脚方向为输出）
    IoTGpioSetDir(LED_TASK_GPIO,IOT_GPIO_DIR_OUT);

    //工作循环
    while (1)
    {
        //设置GPIO引脚的输出状态（1高电平或0低电平）
        //输出低电平，点亮LED
        IoTGpioSetOutputVal(LED_TASK_GPIO,IOT_GPIO_VALUE0);
        //等待0.5秒，单位是10ms
        osDelay(50);
        //输出高电平，熄灭LED
        IoTGpioSetOutputVal(LED_TASK_GPIO,IOT_GPIO_VALUE1);
        osDelay(100);
    }  
}

//入口函数
static void LedEntry(void)
{
    osThreadAttr_t attr;
    attr.name="LedTask";
    attr.stack_size=4096;
    attr.priority=osPriorityNormal;
    if (osThreadNew(LedTask,NULL,&attr)==NULL)
    {
        printf("[LedDemo] Create LedTask failed!\n");
    }
}
//运行入口函数
SYS_RUN(LedEntry);